
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8" />
    <title>Stroh &#8212; atomman 1.4.0 documentation</title>
    <link rel="stylesheet" href="_static/basic.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/language_data.js"></script>
    <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    <script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true, "ignoreClass": "document", "processClass": "math|output_area"}})</script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Dislocation" href="atomman.defect.Dislocation.html" />
    <link rel="prev" title="IsotropicVolterraDislocation" href="atomman.defect.IsotropicVolterraDislocation.html" /> 
  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="atomman.defect.Dislocation.html" title="Dislocation"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="atomman.defect.IsotropicVolterraDislocation.html" title="IsotropicVolterraDislocation"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">atomman 1.4.0 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="atomman.html" >atomman package</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="atomman.defect.html" accesskey="U">defect</a> &#187;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="stroh">
<h1>Stroh<a class="headerlink" href="#stroh" title="Permalink to this headline">¶</a></h1>
<dl class="class">
<dt id="atomman.defect.Stroh">
<em class="property">class </em><code class="sig-prename descclassname">atomman.defect.</code><code class="sig-name descname">Stroh</code><span class="sig-paren">(</span><em class="sig-param">C, burgers, ξ_uvw=None, slip_hkl=None, transform=None, axes=None, box=None, m=[1, 0, 0], n=[0, 1, 0], tol=1e-08</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.defect.Stroh" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">atomman.defect.VolterraDislocation.VolterraDislocation</span></code></p>
<p>Class for solving the Eshelby anisotropic solution for a straight
dislocation or crack using the Stroh method.</p>
<dl class="method">
<dt id="atomman.defect.Stroh.A">
<em class="property">property </em><code class="sig-name descname">A</code><a class="headerlink" href="#atomman.defect.Stroh.A" title="Permalink to this definition">¶</a></dt>
<dd><p>A eigenvectors</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.K_coeff">
<em class="property">property </em><code class="sig-name descname">K_coeff</code><a class="headerlink" href="#atomman.defect.Stroh.K_coeff" title="Permalink to this definition">¶</a></dt>
<dd><p>The energy coefficient</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)">float</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.K_tensor">
<em class="property">property </em><code class="sig-name descname">K_tensor</code><a class="headerlink" href="#atomman.defect.Stroh.K_tensor" title="Permalink to this definition">¶</a></dt>
<dd><p>The anisotropic energy coefficient tensor</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.L">
<em class="property">property </em><code class="sig-name descname">L</code><a class="headerlink" href="#atomman.defect.Stroh.L" title="Permalink to this definition">¶</a></dt>
<dd><p>L eigenvectors</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.displacement">
<code class="sig-name descname">displacement</code><span class="sig-paren">(</span><em class="sig-param">pos</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.defect.Stroh.displacement" title="Permalink to this definition">¶</a></dt>
<dd><p>Compute the position-dependent anisotropic displacement.</p>
<blockquote>
<div><p>u_i = 1 / (2 π i) (Σ_a +- k_a A_ai (L_aj*burgers_j) ln(η_a))</p>
</div></blockquote>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>pos</strong> (<em>array-like object</em>) – 3D vector position(s).</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The computed 3D vector displacements at all given points.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.eta">
<code class="sig-name descname">eta</code><span class="sig-paren">(</span><em class="sig-param">pos</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.defect.Stroh.eta" title="Permalink to this definition">¶</a></dt>
<dd><p>Compute the eta coordinates based on positions, p, m and n.  Used by
displacement() and stress().</p>
<blockquote>
<div><p>η_a = x_i m_i + p_a x_j n_j</p>
</div></blockquote>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>pos</strong> (<em>array-like object</em>) – 3D vector position(s).</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The computed eta factor at all given points.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.k">
<em class="property">property </em><code class="sig-name descname">k</code><a class="headerlink" href="#atomman.defect.Stroh.k" title="Permalink to this definition">¶</a></dt>
<dd><p>k normalization factors</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.p">
<em class="property">property </em><code class="sig-name descname">p</code><a class="headerlink" href="#atomman.defect.Stroh.p" title="Permalink to this definition">¶</a></dt>
<dd><p>p eigenvalues</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.preln">
<em class="property">property </em><code class="sig-name descname">preln</code><a class="headerlink" href="#atomman.defect.Stroh.preln" title="Permalink to this definition">¶</a></dt>
<dd><p>The pre-ln strain energy factor</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)">float</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.solve">
<code class="sig-name descname">solve</code><span class="sig-paren">(</span><em class="sig-param">C, burgers, ξ_uvw=None, slip_hkl=None, transform=None, axes=None, box=None, m=[1, 0, 0], n=[0, 1, 0], tol=1e-08</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.defect.Stroh.solve" title="Permalink to this definition">¶</a></dt>
<dd><p>Computes the elastic solution for an anisotropic volterra dislocation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>C</strong> (<a class="reference internal" href="atomman.ElasticConstants.html#atomman.ElasticConstants" title="atomman.ElasticConstants"><em>atomman.ElasticConstants</em></a>) – The medium’s elastic constants.</p></li>
<li><p><strong>burgers</strong> (<em>array-like object</em>) – The dislocation’s Burgers vector.</p></li>
<li><p><strong>ξ_uvw</strong> (<em>array-like object</em>) – The Miller crystal vector associated with the dislocation’s line
direction.  Must be given with slip_hkl to identify the
transformation matrix to use on C and burgers.</p></li>
<li><p><strong>slip_hkl</strong> (<em>array-like object</em>) – The Miller plane indices associated with the dislocation’s slip
plane.  Must be given with slip_hkl to identify the
transformation matrix to use on C and burgers.</p></li>
<li><p><strong>transform</strong> (<em>array-like object</em><em>, </em><em>optional</em>) – A 3x3 set of orthogonal Cartesian vectors that define the
transformation matrix to use on C and burgers to convert from the
standard (unit cell) and dislocation orientations.  The 3 vectors
will automatically be converted into unit vectors.  Using this is
an alternative to using ξ_uvw and slip_hkl.</p></li>
<li><p><strong>axes</strong> (<em>array-like object</em><em>, </em><em>optional</em>) – Same as transform.  Retained for backwards compatibility.</p></li>
<li><p><strong>box</strong> (<a class="reference internal" href="atomman.Box.html#atomman.Box" title="atomman.Box"><em>atomman.Box</em></a><em>, </em><em>optional</em>) – The unit cell’s box that crystal vectors are taken with respect to.
If not given, will use a cubic box with a=1 meaning that burgers,
ξ_uvw and slip_hkl will be interpreted as Cartesian vectors.</p></li>
<li><p><strong>m</strong> (<em>array-like object</em><em>, </em><em>optional</em>) – The m unit vector for the solution.  m, n, and u (dislocation
line) should be right-hand orthogonal.  Default value is [1,0,0]
(x-axis).</p></li>
<li><p><strong>n</strong> (<em>array-like object</em><em>, </em><em>optional</em>) – The n unit vector for the solution.  m, n, and u (dislocation
line) should be right-hand orthogonal.  Default value is [0,1,0]
(y-axis). n is normal to the dislocation slip plane.</p></li>
<li><p><strong>tol</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)"><em>float</em></a>) – Tolerance parameter used to round off near-zero values.  Default
value is 1e-8.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.defect.Stroh.stress">
<code class="sig-name descname">stress</code><span class="sig-paren">(</span><em class="sig-param">pos</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.defect.Stroh.stress" title="Permalink to this definition">¶</a></dt>
<dd><p>Compute the position-dependent anisotropic stresses.</p>
<blockquote>
<div><p>σ_ij = 1 / (2 π i) (Σ_a +- k_a C_ijkl mpn_al A_ak (L_am*burgers_m) / η_a)</p>
</div></blockquote>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>pos</strong> (<em>array-like object</em>) – 3D vector position(s).</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The computed 3x3 stress states at all given points.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="atomman.defect.IsotropicVolterraDislocation.html"
                        title="previous chapter">IsotropicVolterraDislocation</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="atomman.defect.Dislocation.html"
                        title="next chapter">Dislocation</a></p>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="atomman.defect.Dislocation.html" title="Dislocation"
             >next</a> |</li>
        <li class="right" >
          <a href="atomman.defect.IsotropicVolterraDislocation.html" title="IsotropicVolterraDislocation"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">atomman 1.4.0 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="atomman.html" >atomman package</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="atomman.defect.html" >defect</a> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.0.
    </div>
  </body>
</html>